package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JOptionPane;

import modelo.Jugador;
import modelo.JugadorDAO;

import vista.VistaListados;
import vista.VistaModeloTabla;

import vista.VistaReportes;

public class ControladorListados implements ActionListener{

	private VistaListados vista;
	private Jugador jugador;
	private JugadorDAO jugadorDAO;
	
	public ControladorListados(VistaListados vista){
		super();
		this.vista = vista;
		this.jugador=new Jugador();
		this.jugadorDAO=new JugadorDAO();
	}
	
	
	
	public void actionPerformed(ActionEvent ae) {

		int tipo;
			// BUSCAR
			if(ae.getActionCommand().equalsIgnoreCase(vista.getBtnBuscar().getText())){
				
				tipo= vista.getTxtlistados().getSelectedIndex();
				java.sql.ResultSet rs;
				
				if (tipo==0)
				{	
					rs=jugadorDAO.listar("1");
//					
					
					Vector<Jugador> vNivel1= new Vector<Jugador>();
														
					try {
						
						while(rs.next())
						{		
							//public ModeloReporteVentas(String orden, String producto, int cantidad, double total) {
							Jugador actualReporte = new Jugador(rs.getString("record"), rs.getString("nombre"), rs.getInt("nivel"));							
							vNivel1.addElement(actualReporte);
							
						}
						
						if(vNivel1.size()>0){
							
							VistaReportes vista =  new VistaReportes (tipo);
							vista.setResultados(new VistaModeloTabla(vNivel1, tipo));							
							
						}
						else JOptionPane.showMessageDialog(null,"No hay elementos para mostrar", "<<AHORCADO>>", JOptionPane.INFORMATION_MESSAGE);
						
						
					} catch (SQLException e) {
						e.printStackTrace();
					}
					
					
				}else
				{
					if (tipo==1)
					{
						rs=jugadorDAO.listar("2");
//						
						
						Vector<Jugador> vNivel2= new Vector<Jugador>();
															
						try {
							
							while(rs.next())
							{		
								//public ModeloReporteVentas(String orden, String producto, int cantidad, double total) {
								Jugador actualReporte = new Jugador(rs.getString("record"), rs.getString("nombre"), rs.getInt("nivel"));							
								vNivel2.addElement(actualReporte);
								
							}
							
							if(vNivel2.size()>0){
								
								VistaReportes vista =  new VistaReportes (tipo);
								vista.setResultados(new VistaModeloTabla(vNivel2, tipo,""));							
								
							}
							else JOptionPane.showMessageDialog(null,"No hay elementos para mostrar", "<<AHORCADO>>", JOptionPane.INFORMATION_MESSAGE);
							
							
						} catch (SQLException e) {
							e.printStackTrace();
						}
						
						
						
					}else
					{
						if (tipo==2)
						{
							rs=jugadorDAO.listar("3");
//							
							
							Vector<Jugador> vNivel3= new Vector<Jugador>();
																
							try {
								
								while(rs.next())
								{		
									//public ModeloReporteVentas(String orden, String producto, int cantidad, double total) {
									Jugador actualReporte = new Jugador(rs.getString("record"), rs.getString("nombre"), rs.getInt("nivel"));							
									vNivel3.addElement(actualReporte);
									
								}
								
								if(vNivel3.size()>0){
									
									VistaReportes vista =  new VistaReportes (tipo);
									vista.setResultados(new VistaModeloTabla(vNivel3, tipo,0.0));							
									
								}
								else JOptionPane.showMessageDialog(null,"No hay elementos para mostrar", "<<AHORCADO>>", JOptionPane.INFORMATION_MESSAGE);
								
								
							} catch (SQLException e) {
								e.printStackTrace();
							}
														
						}
					}
				}
					
			}
			
	}

}
